package com.pocket.insight.base.sql.constant;

import java.util.HashMap;
import java.util.Map;

/**
 * 描述：系统支持的 数据库数据连接 类型常量
 *
 * @author shuize
 * @create 2024/11/22
 */
public class ConnectionTypeConstant {

    // Docking in progress...
    public static final String MYSQL = "mysql";





    // TODO Docking
    public static final String EXT_API = "ext_api";
    public static final String EXT_WEATHER = "ext_weather";
    public static final String EXT_GOOGLE_ANALYTICS = "ext_google_analytics";


    public static final String APACHE_DORIS = "doris";
    public static final String STAR_ROCKS = "starRocks";
    public static final String POSTGRESQL = "postgresql";
    public static final String ORACLE = "oracle";
    public static final String SQLSERVER = "sqlserver";
    public static final String DB2 = "db2";
    public static final String SAPHANA = "saphana";
    public static final String HIVE = "hive";
    public static final String VERTICA = "vertica";
    public static final String CLICKHOUSE = "clickhouse";
    public static final String SPARK = "spark";
    public static final String SPARK_FULL = "spark_sql";
    public static final String IMPALA = "impala";
    public static final String IMPALA_FULL = "cloudera_impala";
    public static final String ALIBABA_HOLOGRES = "hologres";
    public static final String TIDB = "tidb";
    public static final String ELASTIC_SEARCH = "elastic_search";
    public static final String ELASTIC_SEARCH_XPACK = "Elasticsearch";
    public static final String DAMENG = "dameng";
    public static final String MONGODB = "mongodb";
    public static final String MONGO = "mongo";
    public static final String KAP = "kap";
    public static final String KYLIN = "kylin";
    public static final String AMAZON_REDSHIFT = "amazon_redshift";
    public static final String AMAZON_REDSHIFT_ABBREVIATION = "redshift";
    public static final String ATHENA = "athena";
    public static final String ALIBABA_MAXCOMPUTE = "alibaba_maxcompute";
    public static final String ALIBABA_MAXCOMPUTE_ABBREVIATION = "maxcompute";
    public static final String PRESTO = "presto";
    public static final String GREENPLUM = "greenplum";
    public static final String HBASE = "hbase";
    public static final String PHOENIX = "phoenix";
    public static final String SOLR = "solr";
    public static final String ENGINE = "engine";
    public static final String SAP_CUBE = "sapCube";
    public static final String TENCENT_TD_SQL_MYSQL = "tdsqlMysql";
    public static final String TENCENT_TD_SQL_POSTGRESQL = "tdsqlPostgresql";
    public static final String ANALYTICDB_MYSQL = "analyticDBMySQL";
    public static final String ATOMDATA = "atomData";
    public static final String MAXCOMPUTE = "maxcompute_jdbc";
    public static final String MAXCOMPUTE_NATIVE = "maxcomputeNative";
    public static final String KINGBASE_ES = "kingbaseES";
    public static final String ARGODB = "argodb";
    public static final String GBASE_8A = "gbase8a";
    public static final String GBASE_8S = "gbase8s";
    public static final String GAUSSDB = "gaussdb";
    public static final String OCEANBASE = "oceanbase";


    public static final Map<String, String> TYPE_TO_STD_TYPE = new HashMap<>();
    static {
        TYPE_TO_STD_TYPE.put("spark_sql", "spark");
        TYPE_TO_STD_TYPE.put("cloudera_impala", "impala");
        TYPE_TO_STD_TYPE.put("elastic_search", "Elasticsearch");
        TYPE_TO_STD_TYPE.put("amazon_redshift", "redshift");
        TYPE_TO_STD_TYPE.put("ext_lunar_calendar", "postgresql");
        TYPE_TO_STD_TYPE.put("alibaba_maxcompute", "maxcompute");
        TYPE_TO_STD_TYPE.put("maxcompute_jdbc", "maxcomputeNative");
    }

}
